package edu.stanford.bmir.protege.web.server.stkosutil.visualizer.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import edu.stanford.bmir.protege.web.shared.PrimitiveType;

public class StkosUtilOwlEntityTreeNode implements Serializable {

	private static final long serialVersionUID = 1L;

	private String iri;
	private String displayName;
	private PrimitiveType entityType;

	private List<StkosUtilOwlEntitySimplePropertyValue> propertyValues = new ArrayList<StkosUtilOwlEntitySimplePropertyValue>();

	private List<StkosUtilOwlEntityTreeNode> children = new ArrayList<StkosUtilOwlEntityTreeNode>();

	public String getIri() {
		return iri;
	}

	public void setIri(String iri) {
		this.iri = iri;
	}

	public String getDisplayName() {
		return displayName;
	}

	public void setDisplayName(String displayName) {
		this.displayName = displayName;
	}

	public List<StkosUtilOwlEntityTreeNode> getChildren() {
		return children;
	}

	public void setChildren(List<StkosUtilOwlEntityTreeNode> children) {
		this.children = children;
	}

	public PrimitiveType getEntityType() {
		return entityType;
	}

	public void setEntityType(PrimitiveType entityType) {
		this.entityType = entityType;
	}

	public List<StkosUtilOwlEntitySimplePropertyValue> getPropertyValues() {
		return propertyValues;
	}

	public void setPropertyValues(
			List<StkosUtilOwlEntitySimplePropertyValue> propertyValues) {
		this.propertyValues = propertyValues;
	}

	@Override
	public String toString() {
		return displayName + " "
				+ (entityType == null ? null : entityType.name()) + " " + iri;
	}
}
